// Generated from D:/IDEAWork/play/private/yu-gi-oh/src/main/resources/antlr4\EffectParser.g4 by ANTLR 4.8
package com.zfast.yugioh.antlr4.effect;
import org.antlr.v4.runtime.tree.ParseTreeListener;

/**
 * This interface defines a complete listener for a parse tree produced by
 * {@link EffectParser}.
 */
public interface EffectParserListener extends ParseTreeListener {
	/**
	 * Enter a parse tree produced by the {@code OrgExpr}
	 * labeled alternative in {@link EffectParser#exprExt1}.
	 * @param ctx the parse tree
	 */
	void enterOrgExpr(EffectParser.OrgExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code OrgExpr}
	 * labeled alternative in {@link EffectParser#exprExt1}.
	 * @param ctx the parse tree
	 */
	void exitOrgExpr(EffectParser.OrgExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code If}
	 * labeled alternative in {@link EffectParser#exprExt1}.
	 * @param ctx the parse tree
	 */
	void enterIf(EffectParser.IfContext ctx);
	/**
	 * Exit a parse tree produced by the {@code If}
	 * labeled alternative in {@link EffectParser#exprExt1}.
	 * @param ctx the parse tree
	 */
	void exitIf(EffectParser.IfContext ctx);
	/**
	 * Enter a parse tree produced by {@link EffectParser#orgExpression}.
	 * @param ctx the parse tree
	 */
	void enterOrgExpression(EffectParser.OrgExpressionContext ctx);
	/**
	 * Exit a parse tree produced by {@link EffectParser#orgExpression}.
	 * @param ctx the parse tree
	 */
	void exitOrgExpression(EffectParser.OrgExpressionContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Select}
	 * labeled alternative in {@link EffectParser#coreAct}.
	 * @param ctx the parse tree
	 */
	void enterSelect(EffectParser.SelectContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Select}
	 * labeled alternative in {@link EffectParser#coreAct}.
	 * @param ctx the parse tree
	 */
	void exitSelect(EffectParser.SelectContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Update}
	 * labeled alternative in {@link EffectParser#coreAct}.
	 * @param ctx the parse tree
	 */
	void enterUpdate(EffectParser.UpdateContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Update}
	 * labeled alternative in {@link EffectParser#coreAct}.
	 * @param ctx the parse tree
	 */
	void exitUpdate(EffectParser.UpdateContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Object}
	 * labeled alternative in {@link EffectParser#aimObject}.
	 * @param ctx the parse tree
	 */
	void enterObject(EffectParser.ObjectContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Object}
	 * labeled alternative in {@link EffectParser#aimObject}.
	 * @param ctx the parse tree
	 */
	void exitObject(EffectParser.ObjectContext ctx);
	/**
	 * Enter a parse tree produced by the {@code PipeObject}
	 * labeled alternative in {@link EffectParser#aimObject}.
	 * @param ctx the parse tree
	 */
	void enterPipeObject(EffectParser.PipeObjectContext ctx);
	/**
	 * Exit a parse tree produced by the {@code PipeObject}
	 * labeled alternative in {@link EffectParser#aimObject}.
	 * @param ctx the parse tree
	 */
	void exitPipeObject(EffectParser.PipeObjectContext ctx);
	/**
	 * Enter a parse tree produced by the {@code AsObject}
	 * labeled alternative in {@link EffectParser#aimObject}.
	 * @param ctx the parse tree
	 */
	void enterAsObject(EffectParser.AsObjectContext ctx);
	/**
	 * Exit a parse tree produced by the {@code AsObject}
	 * labeled alternative in {@link EffectParser#aimObject}.
	 * @param ctx the parse tree
	 */
	void exitAsObject(EffectParser.AsObjectContext ctx);
	/**
	 * Enter a parse tree produced by the {@code SetObject}
	 * labeled alternative in {@link EffectParser#aimJudge}.
	 * @param ctx the parse tree
	 */
	void enterSetObject(EffectParser.SetObjectContext ctx);
	/**
	 * Exit a parse tree produced by the {@code SetObject}
	 * labeled alternative in {@link EffectParser#aimJudge}.
	 * @param ctx the parse tree
	 */
	void exitSetObject(EffectParser.SetObjectContext ctx);
	/**
	 * Enter a parse tree produced by the {@code SetObjectBlank}
	 * labeled alternative in {@link EffectParser#aimJudge}.
	 * @param ctx the parse tree
	 */
	void enterSetObjectBlank(EffectParser.SetObjectBlankContext ctx);
	/**
	 * Exit a parse tree produced by the {@code SetObjectBlank}
	 * labeled alternative in {@link EffectParser#aimJudge}.
	 * @param ctx the parse tree
	 */
	void exitSetObjectBlank(EffectParser.SetObjectBlankContext ctx);
	/**
	 * Enter a parse tree produced by the {@code From}
	 * labeled alternative in {@link EffectParser#targetObjectArrys}.
	 * @param ctx the parse tree
	 */
	void enterFrom(EffectParser.FromContext ctx);
	/**
	 * Exit a parse tree produced by the {@code From}
	 * labeled alternative in {@link EffectParser#targetObjectArrys}.
	 * @param ctx the parse tree
	 */
	void exitFrom(EffectParser.FromContext ctx);
	/**
	 * Enter a parse tree produced by the {@code FromBlank}
	 * labeled alternative in {@link EffectParser#targetObjectArrys}.
	 * @param ctx the parse tree
	 */
	void enterFromBlank(EffectParser.FromBlankContext ctx);
	/**
	 * Exit a parse tree produced by the {@code FromBlank}
	 * labeled alternative in {@link EffectParser#targetObjectArrys}.
	 * @param ctx the parse tree
	 */
	void exitFromBlank(EffectParser.FromBlankContext ctx);
	/**
	 * Enter a parse tree produced by the {@code To}
	 * labeled alternative in {@link EffectParser#aimObjectArrys}.
	 * @param ctx the parse tree
	 */
	void enterTo(EffectParser.ToContext ctx);
	/**
	 * Exit a parse tree produced by the {@code To}
	 * labeled alternative in {@link EffectParser#aimObjectArrys}.
	 * @param ctx the parse tree
	 */
	void exitTo(EffectParser.ToContext ctx);
	/**
	 * Enter a parse tree produced by the {@code ToBlank}
	 * labeled alternative in {@link EffectParser#aimObjectArrys}.
	 * @param ctx the parse tree
	 */
	void enterToBlank(EffectParser.ToBlankContext ctx);
	/**
	 * Exit a parse tree produced by the {@code ToBlank}
	 * labeled alternative in {@link EffectParser#aimObjectArrys}.
	 * @param ctx the parse tree
	 */
	void exitToBlank(EffectParser.ToBlankContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Where}
	 * labeled alternative in {@link EffectParser#targetJudge}.
	 * @param ctx the parse tree
	 */
	void enterWhere(EffectParser.WhereContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Where}
	 * labeled alternative in {@link EffectParser#targetJudge}.
	 * @param ctx the parse tree
	 */
	void exitWhere(EffectParser.WhereContext ctx);
	/**
	 * Enter a parse tree produced by the {@code WhereBlank}
	 * labeled alternative in {@link EffectParser#targetJudge}.
	 * @param ctx the parse tree
	 */
	void enterWhereBlank(EffectParser.WhereBlankContext ctx);
	/**
	 * Exit a parse tree produced by the {@code WhereBlank}
	 * labeled alternative in {@link EffectParser#targetJudge}.
	 * @param ctx the parse tree
	 */
	void exitWhereBlank(EffectParser.WhereBlankContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Limit}
	 * labeled alternative in {@link EffectParser#limitStr}.
	 * @param ctx the parse tree
	 */
	void enterLimit(EffectParser.LimitContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Limit}
	 * labeled alternative in {@link EffectParser#limitStr}.
	 * @param ctx the parse tree
	 */
	void exitLimit(EffectParser.LimitContext ctx);
	/**
	 * Enter a parse tree produced by the {@code LimitBlank}
	 * labeled alternative in {@link EffectParser#limitStr}.
	 * @param ctx the parse tree
	 */
	void enterLimitBlank(EffectParser.LimitBlankContext ctx);
	/**
	 * Exit a parse tree produced by the {@code LimitBlank}
	 * labeled alternative in {@link EffectParser#limitStr}.
	 * @param ctx the parse tree
	 */
	void exitLimitBlank(EffectParser.LimitBlankContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Operator_SLASH}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterOperator_SLASH(EffectParser.Operator_SLASHContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Operator_SLASH}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitOperator_SLASH(EffectParser.Operator_SLASHContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Operator_COLON}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterOperator_COLON(EffectParser.Operator_COLONContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Operator_COLON}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitOperator_COLON(EffectParser.Operator_COLONContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Operator_GTE}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterOperator_GTE(EffectParser.Operator_GTEContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Operator_GTE}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitOperator_GTE(EffectParser.Operator_GTEContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Operator_NEQ}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterOperator_NEQ(EffectParser.Operator_NEQContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Operator_NEQ}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitOperator_NEQ(EffectParser.Operator_NEQContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Operator_Expr1}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterOperator_Expr1(EffectParser.Operator_Expr1Context ctx);
	/**
	 * Exit a parse tree produced by the {@code Operator_Expr1}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitOperator_Expr1(EffectParser.Operator_Expr1Context ctx);
	/**
	 * Enter a parse tree produced by the {@code Operator_Expr0}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterOperator_Expr0(EffectParser.Operator_Expr0Context ctx);
	/**
	 * Exit a parse tree produced by the {@code Operator_Expr0}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitOperator_Expr0(EffectParser.Operator_Expr0Context ctx);
	/**
	 * Enter a parse tree produced by the {@code Operator_GT}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterOperator_GT(EffectParser.Operator_GTContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Operator_GT}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitOperator_GT(EffectParser.Operator_GTContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Operator_Expr2}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterOperator_Expr2(EffectParser.Operator_Expr2Context ctx);
	/**
	 * Exit a parse tree produced by the {@code Operator_Expr2}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitOperator_Expr2(EffectParser.Operator_Expr2Context ctx);
	/**
	 * Enter a parse tree produced by the {@code Operator_Expr4}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterOperator_Expr4(EffectParser.Operator_Expr4Context ctx);
	/**
	 * Exit a parse tree produced by the {@code Operator_Expr4}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitOperator_Expr4(EffectParser.Operator_Expr4Context ctx);
	/**
	 * Enter a parse tree produced by the {@code Operator_LTE}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterOperator_LTE(EffectParser.Operator_LTEContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Operator_LTE}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitOperator_LTE(EffectParser.Operator_LTEContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Operator_LT}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterOperator_LT(EffectParser.Operator_LTContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Operator_LT}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitOperator_LT(EffectParser.Operator_LTContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Operator_ASTERISK}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterOperator_ASTERISK(EffectParser.Operator_ASTERISKContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Operator_ASTERISK}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitOperator_ASTERISK(EffectParser.Operator_ASTERISKContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Operator_MINUS}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterOperator_MINUS(EffectParser.Operator_MINUSContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Operator_MINUS}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitOperator_MINUS(EffectParser.Operator_MINUSContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Operator_PAREN}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterOperator_PAREN(EffectParser.Operator_PARENContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Operator_PAREN}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitOperator_PAREN(EffectParser.Operator_PARENContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Operator_PLUS}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterOperator_PLUS(EffectParser.Operator_PLUSContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Operator_PLUS}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitOperator_PLUS(EffectParser.Operator_PLUSContext ctx);
	/**
	 * Enter a parse tree produced by the {@code Operator_EQ}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void enterOperator_EQ(EffectParser.Operator_EQContext ctx);
	/**
	 * Exit a parse tree produced by the {@code Operator_EQ}
	 * labeled alternative in {@link EffectParser#expr}.
	 * @param ctx the parse tree
	 */
	void exitOperator_EQ(EffectParser.Operator_EQContext ctx);
	/**
	 * Enter a parse tree produced by the {@code SetExpr}
	 * labeled alternative in {@link EffectParser#set_expr}.
	 * @param ctx the parse tree
	 */
	void enterSetExpr(EffectParser.SetExprContext ctx);
	/**
	 * Exit a parse tree produced by the {@code SetExpr}
	 * labeled alternative in {@link EffectParser#set_expr}.
	 * @param ctx the parse tree
	 */
	void exitSetExpr(EffectParser.SetExprContext ctx);
	/**
	 * Enter a parse tree produced by the {@code WhereExprOr}
	 * labeled alternative in {@link EffectParser#where_expr}.
	 * @param ctx the parse tree
	 */
	void enterWhereExprOr(EffectParser.WhereExprOrContext ctx);
	/**
	 * Exit a parse tree produced by the {@code WhereExprOr}
	 * labeled alternative in {@link EffectParser#where_expr}.
	 * @param ctx the parse tree
	 */
	void exitWhereExprOr(EffectParser.WhereExprOrContext ctx);
	/**
	 * Enter a parse tree produced by the {@code WhereExpr_PAREN}
	 * labeled alternative in {@link EffectParser#where_expr}.
	 * @param ctx the parse tree
	 */
	void enterWhereExpr_PAREN(EffectParser.WhereExpr_PARENContext ctx);
	/**
	 * Exit a parse tree produced by the {@code WhereExpr_PAREN}
	 * labeled alternative in {@link EffectParser#where_expr}.
	 * @param ctx the parse tree
	 */
	void exitWhereExpr_PAREN(EffectParser.WhereExpr_PARENContext ctx);
	/**
	 * Enter a parse tree produced by the {@code WhereExprObject}
	 * labeled alternative in {@link EffectParser#where_expr}.
	 * @param ctx the parse tree
	 */
	void enterWhereExprObject(EffectParser.WhereExprObjectContext ctx);
	/**
	 * Exit a parse tree produced by the {@code WhereExprObject}
	 * labeled alternative in {@link EffectParser#where_expr}.
	 * @param ctx the parse tree
	 */
	void exitWhereExprObject(EffectParser.WhereExprObjectContext ctx);
	/**
	 * Enter a parse tree produced by the {@code WhereExprAnd}
	 * labeled alternative in {@link EffectParser#where_expr}.
	 * @param ctx the parse tree
	 */
	void enterWhereExprAnd(EffectParser.WhereExprAndContext ctx);
	/**
	 * Exit a parse tree produced by the {@code WhereExprAnd}
	 * labeled alternative in {@link EffectParser#where_expr}.
	 * @param ctx the parse tree
	 */
	void exitWhereExprAnd(EffectParser.WhereExprAndContext ctx);
}